#!/usr/bin/env python3
# Created by han on 2016/6/17
import os,sys,re
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from module import compute,log


def find_mul(arg):
    """
    获取带有加减乘除的运算，计算乘除后将获取的字符串转换为只有+-的
    :param arg:
    :return: 只有+ - 的运算字符串
    """
    while True:
        if "*" in arg or "/" in arg:                                                    #如果* / 存在
            b = re.search(r"-?\d*\.?\d+[*/]-?\d+\.?\d*", arg).group()  # 2*4            #寻找出第一个* 或/ 的公式
            print("准备要计算的式子",b)
            log.logger.info(b)
            mul_str = compute.mul(b)                                                    #将式子送到乘除运算的函数
            print("计算乘除后结果",mul_str)
            log.logger.info(mul_str)
            arg = re.sub(r"-?\d*\.?\d+[*/]-?\d+\.?\d*", str(mul_str), arg, 1)           #将做完的结果替换回原公式替换1次，和上面的search对应
            print("做完计算替换后的结果",arg)
        else:
            return arg                                          #如果所有的* / 都已经计算完了则返回
